package com.smcaiot.jfttask.south.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 警辅通 - 任务批次记录表
 * @TableName jft_task_batch
 */
@TableName(value ="jft_task_batch")
@Data
public class JftTaskBatch implements Serializable {
    /**
     * 主键id
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 任务ID
     */
    private String taskId;

    /**
     * 批次ID
     */
    private String taskBatchId;

    /**
     * 批次号
     */
    private Integer batchNum;

    /**
     * 该批次任务状态（1.待派发、2.待接收、3.处理中、4.已完成、5.暂停、6.已过期、7.已关闭）
     */
    private String taskBatchStatus;

    /**
     * 操作类型（1.派发给我、2.自己创建）
     */
    private String actionType;

    /**
     * 该批次任务开始时间
     */
    private Date startTime;

    /**
     * 该批次任务结束时间
     */
    private Date endTime;

    /**
     * 接收人ID、部门ID
     */
    private String userId;

    /**
     * 人员类型(1.人 2.部门)
     */
    private String userType;

    /**
     * 是否发送过语音通知（0：否，1.是）
     */
    private String voiceFlag;

    /**
     * 是否发送过消息提醒（0：否，1：是）
     */
    private String voiceMessageFlag;

    /**
     * 是否发送过超时语音通知（0：否，1.是）
     */
    private String timeOutVoiceFlag;

    /**
     * 是否发送过超时消息提醒（0：否，1：是）
     */
    private String timeOutVoiceMessageFlag;

    /**
     * 上一级任务ID
     */
    private String preTaskBatchId;

    /**
     * 是否转派(1.是 0.否)
     */
    private String launchStatus;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 更新人
     */
    private String updateBy;

    /**
     * 参与人员类型 0主执行人 1主协任务-协作人 2协同任务-协作人
     */
    private String joinUserType;

    /**
     * 任务执行类型 0正常 1主执行人任务 2协作完成任务
     */
    private String taskWorkType;

    /**
     * 协作团队ID：用于判断是否具有协作关系
     */
    private String taskTeamId;

    /**
     * 接收人的上级部门层级字符串，逗号分割
     */
    private String parentNodes;

    /**
     * 状态变更时间
     */
    private Date statusTime;

    /**
     * 是否超时完成
     */
    private String finishTimeoutFlag;

    /**
     * 语音通知结果
     */
    private String voiceResult;

    /**
     * 微信通知结果
     */
    private String messageResult;

    /**
     * 任务所属科所ID
     */
    private String ksId;

    /**
     * 是否同意协办人完成任务 字典PDBS： 0否 1是
     */
    private String joinFinish;

    /**
     * 最新子任务分派时间
     */
    private Date launchTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}